home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / examples / Makefile.aimk < prev    next >
Makefile  |  1997-07-22  |  7KB  |  265 lines

  1. #
  2. # $Id: Makefile.aimk,v 1.11 1997/07/02 14:34:44 pvmsrc Exp $
  3. #
  4. # Makefile.aimk for PVM example programs.
  5. #
  6. # Set PVM_ROOT to the path where PVM includes and libraries are installed.
  7. # Set PVM_ARCH to your architecture type (SUN4, HP9K, RS6K, SGI, etc.)
  8. # Set ARCHLIB to any special libs needed on PVM_ARCH (-lrpc, -lsocket, etc.)
  9. # otherwise leave ARCHLIB blank
  10. #
  11. # PVM_ARCH and ARCHLIB are set for you if you use "$PVM_ROOT/lib/aimk"
  12. # instead of "make".
  13. #
  14. # aimk also creates a $PVM_ARCH directory below this one and will cd to it
  15. # before invoking make - this allows building in parallel on different arches.
  16. #
  17.  
  18. SHELL        =    /bin/sh
  19.  
  20. PVMDIR        =    ../..
  21. SDIR        =    $(PVMDIR)/examples
  22. BDIR        =    $(PVMDIR)/bin
  23. XDIR        =    $(BDIR)/$(PVM_ARCH)
  24.  
  25. CFLOPTS        =    -g
  26. CFLAGS        =    $(CFLOPTS) -I$(PVMDIR)/include $(ARCHCFLAGS)
  27.  
  28. ##### Need to select some architecture-specific libraries to link tasks #####
  29. # The default setup is for workstations
  30.  
  31. ### Select PVMLIB depending on architecture. 
  32. #          For MPPs (PGON and SP2MPI) select:
  33. # PVMLIB        =     -lpvm3pe
  34. #        For Workstations and shared memory architectures select:
  35. # PVMLIB         =     -lpvm3
  36.  
  37. PVMLIB    = -lpvm3
  38.  
  39. ### Select the PVMHLIB depending on architecture
  40. # Host versions of programs use sockets to communicate with the daemon.
  41. # They can be built with aimk hostprogs, they are only necessary for
  42. # MPPs and are OPTIONAL for other architectures
  43. #
  44. #        For MPPs and Workstations select
  45. # PVMHLIB        =     -lpvm3
  46. #        for Shared Memory Archtiectures
  47. # PVMHLIB        =    -lpvm3s
  48.  
  49. PVMHLIB = -lpvm3
  50.  
  51. #############################################################################
  52. LIBS        =    $(PVMLIB) $(ARCHLIB)
  53.  
  54. HLIBS    =     $(PVMHLIB) $(ARCHLIB)
  55.  
  56. GLIBS        =    -lgpvm3
  57.  
  58. #F77        =    f77
  59. FORT         = `case "$(FC)@$(F77)" in *@) echo $(FC) ;; @*) echo $(F77) ;; *) echo f77;; esac`
  60. FFLOPTS        =    -g
  61. FFLAGS        =    $(FFLOPTS) $(ARCHFFLAGS)
  62. FLIBS        =    -lfpvm3
  63.  
  64. LFLAGS        =    $(LOPT) -L$(PVMDIR)/lib/$(PVM_ARCH)
  65.  
  66. CPROGS        =    hello hello_other \
  67.                 gexample \
  68.                 master1 master1h slave1 \
  69.                 spmd \
  70.                 timing timing_slave \
  71.                 gmbi \
  72.                 dbwtest ibwtest pbwtest rbwtest
  73.  
  74. HOSTCPROGS        =     helloh gexampleh master1h timingh gmbih 
  75.  
  76. FPROGS        =    fgexample fmaster1 fslave1 fspmd hitc hitc_slave
  77.  
  78. HOSTFPROGS    = fmaster1h hitch
  79.  
  80. CTXPROGS    =    inherita inheritb inherit1 inherit2 inherit3
  81.  
  82. MBPROGS        =    taskf.o task0 task1 task_end rme lmbi gmbi
  83.  
  84. default:    hello hello_other
  85.  
  86. all: c-all f-all
  87.  
  88. c-all:    $(CPROGS) $(CTXPROGS) $(MBPROGS)
  89.  
  90. f-all:    $(FPROGS)
  91.  
  92. hostprogs:    $(HOSTCRPROGS) $(HOSTFPROGS)
  93.  
  94. clean:
  95.     rm -f *.o $(CPROGS) $(FPROGS) $(CTXPROGS) $(MBPROGS)
  96.  
  97. $(XDIR):
  98.     - mkdir $(BDIR)
  99.     - mkdir $(XDIR)
  100.  
  101. hello: $(SDIR)/hello.c $(XDIR)
  102.     $(CC) $(CFLAGS) -o $@ $(SDIR)/hello.c $(LFLAGS) $(LIBS)
  103.     mv $@ $(XDIR)
  104.  
  105. helloh: $(SDIR)/hello.c $(XDIR)
  106.     $(CC) $(CFLAGS) -o $@ $(SDIR)/hello.c $(LFLAGS) $(HLIBS)
  107.     mv $@ $(XDIR)
  108.  
  109. hello_other: $(SDIR)/hello_other.c $(XDIR)
  110.     $(CC) $(CFLAGS) -o $@ $(SDIR)/hello_other.c $(LFLAGS) $(LIBS)
  111.     mv $@ $(XDIR)
  112.  
  113. dbwtest: $(SDIR)/bwtest.c $(XDIR)
  114.     $(CC) $(CFLAGS) -DENCODE=PvmDataDefault -DPACK -o $@ \
  115.         $(SDIR)/bwtest.c $(LFLAGS) $(GLIBS) $(LIBS)
  116.     mv $@ $(XDIR)
  117.  
  118. ibwtest: $(SDIR)/bwtest.c $(XDIR)
  119.     $(CC) $(CFLAGS) -DPACK -DENCODE=PvmDataInPlace -o $@ \
  120.         $(SDIR)/bwtest.c $(LFLAGS) $(GLIBS) $(LIBS)
  121.     mv $@ $(XDIR)
  122.  
  123. pbwtest: $(SDIR)/bwtest.c $(XDIR)
  124.     $(CC) $(CFLAGS) -o $@ $(SDIR)/bwtest.c $(LFLAGS) $(GLIBS) $(LIBS)
  125.     mv $@ $(XDIR)
  126.  
  127. rbwtest: $(SDIR)/bwtest.c $(XDIR)
  128.     $(CC) $(CFLAGS) -DPACK -DENCODE=PvmDataRaw -o $@ \
  129.         $(SDIR)/bwtest.c $(LFLAGS) $(GLIBS) $(LIBS)
  130.     mv $@ $(XDIR)
  131.  
  132.  
  133. timing: $(SDIR)/timing.c $(XDIR)
  134.     $(CC) $(CFLAGS) -o $@ $(SDIR)/timing.c $(LFLAGS) $(LIBS)
  135.     mv $@ $(XDIR)
  136.  
  137. timingh: $(SDIR)/timing.c $(XDIR)
  138.     $(CC) $(CFLAGS) -o $@ $(SDIR)/timing.c $(LFLAGS) $(HLIBS)
  139.     mv $@ $(XDIR)
  140.  
  141. timing_slave: $(SDIR)/timing_slave.c $(XDIR)
  142.     $(CC) $(CFLAGS) -o $@ $(SDIR)/timing_slave.c $(LFLAGS) $(LIBS)
  143.     mv $@ $(XDIR)
  144.  
  145. spmd: $(SDIR)/spmd.c $(XDIR)
  146.     $(CC) $(CFLAGS) -o $@ $(SDIR)/spmd.c $(LFLAGS) $(LIBS)
  147.     mv $@ $(XDIR)
  148.  
  149. fspmd: $(SDIR)/spmd.f $(XDIR)
  150.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/spmd.f $(LFLAGS) $(FLIBS) $(LIBS)
  151.     mv $@ $(XDIR)
  152.  
  153. master1: $(SDIR)/master1.c $(XDIR)
  154.     $(CC) $(CFLAGS) -o $@ $(SDIR)/master1.c $(LFLAGS) $(LIBS)
  155.     mv $@ $(XDIR)
  156.  
  157. master1h: $(SDIR)/master1.c $(XDIR)
  158.     $(CC) $(CFLAGS) -o $@ $(SDIR)/master1.c $(LFLAGS) $(HLIBS)
  159.     mv $@ $(XDIR)
  160.  
  161. slave1: $(SDIR)/slave1.c $(XDIR)
  162.     $(CC) $(CFLAGS) -o $@ $(SDIR)/slave1.c $(LFLAGS) $(LIBS)
  163.     mv $@ $(XDIR)
  164.  
  165.  
  166. fmaster1: $(SDIR)/master1.f $(XDIR)
  167.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/master1.f $(LFLAGS) $(FLIBS) $(LIBS)
  168.     mv $@ $(XDIR)
  169.  
  170. fmaster1h: $(SDIR)/master1.f $(XDIR)
  171.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/master1.f $(LFLAGS) $(FLIBS) $(HLIBS)
  172.     mv $@ $(XDIR)
  173.  
  174. fslave1: $(SDIR)/slave1.f $(XDIR)
  175.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/slave1.f $(LFLAGS) $(FLIBS) $(LIBS)
  176.     mv $@ $(XDIR)
  177.  
  178. hitc: $(SDIR)/hitc.f $(XDIR)
  179.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/hitc.f $(LFLAGS) $(FLIBS) $(LIBS)
  180.     mv $@ $(XDIR)
  181.  
  182. hitch: $(SDIR)/hitc.f $(XDIR)
  183.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/hitc.f $(LFLAGS) $(FLIBS) $(HLIBS)
  184.     mv $@ $(XDIR)
  185.  
  186.  
  187. hitc_slave: $(SDIR)/hitc_slave.f $(XDIR)
  188.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/hitc_slave.f $(LFLAGS) $(FLIBS) $(LIBS)
  189.     mv $@ $(XDIR)
  190.  
  191. gexample: $(SDIR)/gexample.c $(XDIR)
  192.     $(CC) $(CFLAGS) -o $@ $(SDIR)/gexample.c $(LFLAGS) $(GLIBS) $(LIBS)
  193.     mv $@ $(XDIR)
  194.  
  195. gexampleh: $(SDIR)/gexample.c $(XDIR)
  196.     $(CC) $(CFLAGS) -o $@ $(SDIR)/gexample.c $(LFLAGS) $(GLIBS) $(HLIBS)
  197.     mv $@ $(XDIR)
  198.  
  199. fgexample: $(SDIR)/gexample.f $(XDIR)
  200.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/gexample.f $(LFLAGS) $(FLIBS) $(GLIBS) $(LIBS)
  201.     mv $@ $(XDIR)
  202.  
  203. mbox: $(SDIR)/mbox.c $(XDIR)
  204.     $(CC) $(CFLAGS) -o $@ $(SDIR)/mbox.c $(LFLAGS) $(LIBS)
  205.     mv $@ $(XDIR)
  206.  
  207. inherita: $(SDIR)/inherita.c $(XDIR)
  208.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inherita.c $(LFLAGS) $(LIBS)
  209.     mv $@ $(XDIR)
  210.  
  211. inheritb: $(SDIR)/inheritb.c $(XDIR)
  212.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inheritb.c $(LFLAGS) $(LIBS)
  213.     mv $@ $(XDIR)
  214.  
  215. inherit1: $(SDIR)/inherit1.c $(XDIR)
  216.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inherit1.c $(LFLAGS) $(LIBS)
  217.     mv $@ $(XDIR)
  218.  
  219. inherit2: $(SDIR)/inherit2.c $(XDIR)
  220.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inherit2.c $(LFLAGS) $(LIBS)
  221.     mv $@ $(XDIR)
  222.  
  223. inherit3: $(SDIR)/inherit3.c $(XDIR)
  224.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inherit3.c $(LFLAGS) $(LIBS)
  225.     mv $@ $(XDIR)
  226.  
  227. taskf.o: $(SDIR)/taskf.c
  228.     $(CC) $(CFLAGS) -c $(SDIR)/taskf.c
  229.  
  230. task0: $(SDIR)/task0.c $(XDIR)
  231.     $(CC) $(CFLAGS) -o $@ $(SDIR)/task0.c taskf.o $(LFLAGS) $(LIBS)
  232.     mv $@ $(XDIR)
  233.  
  234. task1: $(SDIR)/task1.c $(XDIR)
  235.     $(CC) $(CFLAGS) -o $@ $(SDIR)/task1.c taskf.o $(LFLAGS) $(LIBS)
  236.     mv $@ $(XDIR)
  237.  
  238. task_end:$(SDIR)/task_end.c $(XDIR)
  239.     $(CC) $(CFLAGS) -o $@ $(SDIR)/task_end.c taskf.o $(LFLAGS) $(LIBS)
  240.     mv $@ $(XDIR)
  241.  
  242. rme:$(SDIR)/rme.c $(XDIR)
  243.     $(CC) $(CFLAGS) -o $@ $(SDIR)/rme.c taskf.o $(LFLAGS) $(LIBS)
  244.     mv $@ $(XDIR)
  245.  
  246. lmbi:$(SDIR)/lmbi.c $(XDIR)
  247.     $(CC) $(CFLAGS) -o $@ $(SDIR)/lmbi.c taskf.o $(LFLAGS) $(HLIBS)
  248.     mv $@ $(XDIR)
  249.  
  250. gmbi:$(SDIR)/gmbi.c taskf.o $(XDIR)
  251.     $(CC) $(CFLAGS) -o $@ $(SDIR)/gmbi.c taskf.o $(LFLAGS) $(LIBS)
  252.     mv $@ $(XDIR)
  253.  
  254. gmbih:$(SDIR)/gmbi.c taskf.o $(XDIR)
  255.     $(CC) $(CFLAGS) -o $@ $(SDIR)/gmbi.c taskf.o $(LFLAGS) $(HLIBS)
  256.     mv $@ $(XDIR)
  257.  
  258. mhf_server:$(SDIR)/mhf_server.c $(XDIR)
  259.     $(CC) $(CFLAGS) -o $@ $(SDIR)/mhf_server.c $(LFLAGS) $(LIBS)
  260.     mv $@ $(XDIR)
  261.  
  262. mhf_tickle:$(SDIR)/mhf_tickle.c $(XDIR)
  263.     $(CC) $(CFLAGS) -o $@ $(SDIR)/mhf_tickle.c $(LFLAGS) $(LIBS)
  264.     mv $@ $(XDIR)
  265.